# -*- coding: utf-8 -*-
# for python3
'''
@file  create_photo_swf_webarchive.py
@brief photo_swf.webarchive を作成

Created on 2011/06/14

@author: yohei

@usage
python3 create_photo_swf_webarchive.py -i favorite_xxxx.htmlパス -t templateファイルパス -o webarchiveファイルパス
'''
import codecs
import json
from optparse import OptionParser
import os.path
import re
import sys

def main(argv):
	# オプション解析
	parser = OptionParser('create_photo_swf_webarchive')
	parser.add_option('-i', '--input', action='store', type='string', dest='in_path', help='input favorite_xxxx.html path')
	parser.add_option('-o', '--output', action='store', type='string', dest='out_path', help='output path')
	parser.add_option('-t', '--template', action='store', type='string', dest='template_path', help='template path')
	(options, args) = parser.parse_args(argv)

	# オプションエラーチェック
	if not options.in_path:
		parser.print_help()
		parser.error('引数 -i が指定されていない')

	if not options.out_path:
		parser.print_help()
		parse.error('引数 -o が指定されていない')

	if not options.template_path:
		parser.print_help()
		parse.error('引数 -t が指定されていない')

	# テンプレートを読み込む
	f = open(options.template_path, 'rb')
	template_data = f.read()
	f.close()
	
	# 入力
	f = codecs.open(options.in_path, 'r', 'utf-8')
	in_data = f.read()
	f.close()
	
	m = re.search('so.addVariable\("p", "([0-9a-zA-Z_]+)"\)', in_data)
	p_id = m.group(1)
	p_id = p_id.encode('utf-8')
	
	# 置換
	data = template_data.replace(b'121331_678_1140608_78968_152608041_49df79e6a9768e7e6a515e92247f3295_t', p_id)

	# 出力
	f = open(options.out_path, 'wb')
	f.write(data)
	f.close()
	
	print (options.out_path)
	
if __name__ == "__main__":
    #import sys;sys.argv = ['', 'Test.testName']
    main(sys.argv)
